Use of debugger application programs to analyze and resolve bugs in program code has become commonplace in computer system device and application development. A debugger typically controls execution of target program code that is subject to analysis, traces uses of computing resources such as, but not limited to, main memory, registers, and memory stacks as well as program instruction code being executed. The debuggers may start, suspend, resume and stop program code execution, and provide addresses and values of data stored in the computing resources. Some debuggers may provide a set of values of data in various memory locations upon suspending program code execution at various break points as snapshots of the computing environment such as values that are currently stored in registers as the current function is at a break point. In addition to providing values of the current registers and memory stack, it may also be desirable for debuggers to provide data associated with one or more caller functions of the current function, to provide information that is useful to understand about various parameters before or after the current function call.
It is with respect to these and other general considerations that the aspects disclosed herein have been made. Also, although relatively specific problems may be discussed, it should be understood that the examples should not be limited to solving the specific problems identified in the background or elsewhere in this disclosure.